In the geometry of computer graphics, a vertex normal at a vertex of a polyhedron is the normalized average of the surface normals of the faces that contain that vertex. The average can be weighted for example by the area of the face or it can be unweighted. Vertex normals are used in Gouraud shading, Phong shading and other lighting models. This produces much smoother results than flat shading; however, without some modifications, it cannot produce a sharp edge.